function [ percentage ] = classify_mahala(TRAIN_IN, TEST_IN, modus )

classnames = {'ISDIABETIC', 'ISNODIABETIC'}; % Unsere moeglichen Klassen (reihenfolge ist wichtig!)

TESTDATA = TEST_IN(:, 1:(size(TEST_IN, 2)-1)); % initialisierung der Test-Matrix (Daten der Feature-Datenbank)
TRAININGDATA = TRAIN_IN(:, 1:(size(TRAIN_IN, 2)-1)); % initialisierung der Data-Matrix (Daten der zu pruefenden Instanzen)
TEST_DIABETIC = TEST_IN(:, 9);
TRAIN_DIABETIC = TRAIN_IN(:, 9);
test_count = size(TEST_DIABETIC, 1);
training_count = size(TRAIN_DIABETIC, 1);
matches = 0;

% Initialisierung der Vektoren mit den Klassentypen zu jedem in TESTDATA
% und TRAINDATA angegebenen Featurevektor
GROUPTEST = zeros(size(TEST_DIABETIC, 1), 1);
GROUPTRAIN = zeros(size(TRAIN_DIABETIC, 1), 1);

%% Erstellen der GROUPTRAIN und GROUPTEST Vektoren als Uebergabeparameter 
    %fuer die mahalanobis Funktion
for x = 1 : size (TRAIN_DIABETIC)
    tmp = TRAIN_DIABETIC(x);
        if tmp == 1
            tempclass = 1;
        elseif tmp == 0
            tempclass = 2;    
        end
    GROUPTRAIN(x) = tempclass;
end;

for z = 1 : size (TEST_DIABETIC)
    tmp = TEST_DIABETIC(z);
        if tmp == 1
            tempclass = 1;
        elseif tmp == 0
            tempclass = 2;    
        end
    GROUPTEST(z) = tempclass;
end;

%% Aufrufen des Mahalanobis Klassifikators
% Hier den 4ten Parameter auf 1,2 oder 3 veraendern um an die restlichen Modi zu
% kommen (siehe mahalanobis.m)
CLASSIFICATION = mahalanobis(TRAININGDATA, GROUPTRAIN, TESTDATA, modus);


%% Auswertung
 for i = 1 : size(GROUPTEST, 1)

    disp(['Index: ', int2str(i), ' Tatsaechliche Klasse: ', classnames{GROUPTEST(i,1)}, ' - Mahalanobis-Klasse: ', classnames{CLASSIFICATION(i,1)}]);
    
    %% Auswertung:
    if GROUPTEST(i, 1) == CLASSIFICATION(i,1) % Stimmt die Klasse des Trainingsdatensatzes mit der gefundenen Klasse ueberein, so wird eine richtige Zuordnung registriert
        matches = matches + 1;
    end;
    
  
end; % for loop

%% Auswertung
percentage = matches / test_count * 100; % Berechnet den Prozentsatz der richtig zugeordneten Instanzen
disp(['Klassen richtig zugeordnet: ', int2str(matches), '/', int2str(test_count), ' = ', num2str(percentage)]);
